﻿<html DIR="LTR" xmlns:tool="http://www.microsoft.com/tooltip" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ddue="http://ddue.schemas.microsoft.com/authoring/2003/5" xmlns:MSHelp="http://msdn.microsoft.com/mshelp">
  <head>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=utf-8" />
    <META NAME="save" CONTENT="history" />
    <title>使用连接池</title>
    
    <link rel="stylesheet" type="text/css" href="../local/Classic.css">
      
    </link>
    
    <script src="../local/script.js">
      
    </script><script src="../local/script_main.js">&amp;nbsp;</script>
  </head>
  <body>
    <!--Topic built:04/01/2010 05:03:28-->

    
    
    
    
    
    
    
    
    
    <div id="header">
      <table width="100%" id="topTable"><tr>
          <td align="left">
            <span id="headerBold">使用连接池</span>
          </td>
          <td align="right">
            
          </td>
        </tr></table>
      
      
      
    </div>
    <div id="mainSection">
      
        
        
    <font color="DarkGray">
      
    </font>
    <p />
    
    <p />
  
        <div id="introductionSection" class="section">
    <p>Microsoft SQL Server JDBC 驱动程序提供对 Java Platform, Enterprise Edition (Java EE 连接池的支持。JDBC Driver 实现了 JDBC 3.0 所需的接口，从而该驱动程序可参与任何中间件供应商提供的与 JDBC 3.0 兼容的连接池实现。中间件（例如 Java EE 应用程序服务器）通常提供兼容的连接池工具。JDBC 驱动程序将参与这些环境中的已池化的连接。</p>
    <div style="margin: .5em 1.5em .5em 1.5em"><b>注意：</b>
      尽管 JDBC 驱动程序支持 Java EE 5 连接池，但其自身并不提供池实现。驱动程序依赖于第三方 Java 应用程序服务器来管理连接。<p />
    </div>
    <p>用于连接池实现的类如下。</p>
    <table width="100%" cellspacing="0" cellpadding="0" border="1" style="background-color: #CCCCCC;"><tr>
          <th>
            类
          </th>
          <th>
            实现
          </th>
          <th>
            说明
          </th>
        </tr><tr>
        <td>
          <p>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</p>
        </td>
        <td>
          <p>javax.sql.ConnectionPoolDataSource 和 javax.sql.XADataSource</p>
        </td>
        <td>
          <p>建议您对所有 Java EE 服务器需求都使用 <a href="95fc7b07-2498-4a7e-8f7f-ee0d86b598b4.htm">SQLServerXADataSource</a> 类，因为它实现了所有的 JDBC 3.0 池和 XA 接口。</p>
        </td>
      </tr><tr>
        <td>
          <p>com.microsoft.sqlserver.jdbc.SQLServerConnectionPoolDataSource</p>
        </td>
        <td>
          <p>javax.sql.ConnectionPoolDataSource</p>
        </td>
        <td>
          <p>该类是一个连接工厂，它使得 Java EE 应用程序服务器可使用物理连接来填充它的连接池。如果 Java EE 供应商的配置需要实现 javax.sql.ConnectionPoolDataSource 的类，则将该类的名称指定为 <a href="b00e5a90-2af7-4d04-8ef8-256183777dcf.htm">SQLServerConnectionPoolDataSource</a>。通常，建议改用 <a href="95fc7b07-2498-4a7e-8f7f-ee0d86b598b4.htm">SQLServerXADataSource</a> 类，因为它同时实现了池和 XA 接口，并且已在更多的 Java EE 服务器配置中经过了验证。</p>
        </td>
      </tr></table>
    <p>JDBC 应用程序代码应始终显式地关闭连接，以便从池中获得最大利益。如果应用程序显式地关闭连接，则池实现可立即重新使用此连接。如果连接未关闭，则其他应用程序无法重新使用它。应用程序可使用<code> finally </code>构造来确保关闭已池化的连接，即使发生异常。</p>
    <div style="margin: .5em 1.5em .5em 1.5em"><b>注意：</b>
      JDBC 驱动程序在将连接返回池中时，不会立即调用 sp_reset_connection 存储过程。但是，驱动程序将依靠第三方 Java 应用程序服务器使连接返回其原始状态。<p />
    </div>
  </div><span id="seeAlsoSpan"><h1 class="heading">请参阅</h1></span><div id="seeAlsoSection" class="section" name="collapseableSection"><a href="94bcfbe3-f00e-4774-bda8-bb7577518fec.htm">通过 JDBC 驱动程序连接到 SQL Server</a><br /><br /></div><!--[if gte IE 5]>
			<tool:tip element="seeAlsoToolTip" avoidmouse="false"/><tool:tip element="languageFilterToolTip" avoidmouse="false"/><tool:tip element="roleInfoSpan" avoidmouse="false"/>
		<![endif]-->
      <div id="footer" class="section">
        
		<hr />
		
		<span id="fb" class="feedbackcss">
			
			
		</span>
		
		<a href="9bad553b-9e70-4696-8499-2e35f772a1e0.htm">
			
			© 2010 Microsoft Corporation。保留所有权利。
		</a>
 	
	
      </div>
    </div>
  </body>
</html>